package com.njbw.design_pattern.created.factory.simpleFactory;

/**
 * 资源工厂类
 *
 * @author 黄侯淳
 * @since JDK 1.8
 */
public class ResourceFactory {

    /**
     * 创建资源
     * 工厂根据不同的类型创建不同的资源
     * 每一种资源对我们而言都是一种产品
     *
     * @param type 资源类型
     * @param url  资源路径
     * @return 资源类
     */
    public static Resource create(String type, String url) {
        if ("http".equals(type)) {
            // ..发起请求下载资源... 可能很复杂
            return new Resource(url);
        } else if ("file".equals(type)) {
            // ..建立流，做异常处理等等
            return new Resource(url);
        } else if ("ftp".equals(type)) {
            // ..发起 ftp 请求下载资源... 可能很复杂
            return new Resource(url);
        } else if ("classpath".equals(type)) {
            // ..从 classpath 读取资源... 可能很复杂
            return new Resource(url);
        } else {
            // 兜底策略
            return new Resource(url);
        }
    }
}
